Introduction

The method for coupling the snow-cover model and STICS was based on the method proposed by Trnka et al. (Trnka et al. 2010). The snow-cover model pre-processes the climate data in order to account for the influence of snow cover on soil temperature and water budget. Equations derived from the works of Bélanger et al. (Bélanger et al. 2002) were used for the calculation of snow accumulation. For snow melt and snow depth calculations, equations derived from Thorsen et al. (Thorsen, Roer, and Oijen 2010) were used. Model parametrization and validation under the Canadian climatic conditions is presented in Jégo et al. (Jego et al. 2014).

1 The Snow model formalisms

1.1 Snow accumulation

Snow accumulation was estimated using a set of equations that had previously been validated for several sites across Canada (Bélanger et al. 2002). Unlike in the original snowMAUS model proposed by Trnka et al. (Trnka et al. 2010), these equations use the daily maximum temperature to determine the partitioning between rainfall and snowfall. The form of precipitation is defined with two threshold temperatures:

  • \(Tr_{max}\): daily maximum air temperature (\(Tmax\)) above which all precipitation is assumed to be rain (Eq. 1)
  • \(Ts_{max}\): daily maximum air temperature (\(Tmax\)) below which all precipitation is assumed to be snow (Eq. 2)  

Between these two thresholds, the model assumes a mix of rain and snow (Eq. 3).


\[\begin{equation} \begin{aligned} Tmax > Tr_{max} \implies Fr = 1, \hspace{0.2cm} Fs=0 \hspace{5.2cm} (1) \label{eq:fr} \end{aligned} \end{equation}\]
\[\begin{equation} \begin{aligned} Tmax < Ts_{max} \implies Fs = 1 , \hspace{0.2cm} Fr = 0\hspace{5.2cm} (2) \label{eq:fs} \end{aligned} \end{equation}\]
\[\begin{equation} \begin{aligned} Ts_{max} \leqslant Tmax \leqslant Tr_{max} \implies \hspace{7.6cm} \\ Fs = (Tr_{max} - Tmax)/(Tr_{max}-Ts_{max}) , \hspace{0.2cm} Fr = 1 - Fs \hspace{1.3cm} (3) \label{eq:fsfrmix} \end{aligned} \end{equation}\]

 

1.2 Snow melt and snow depth

The snow melt and snow depth were estimated using equations derived from the model proposed by Thorsen et al. (2010). In that model, the snow cover is calculated from precipitations amount (\(P\) in \(mm\)). It consists of water in solid state (\(S_{dry}\); in \(mm\), Eq. 4) and in liquid state (\(S_{wet}\); in \(mm\)) (Eq. 5).

The threshold temperature \(T_{mf}\) (in \(^oC\)) determines whether snow is in the process of melting (\(M\); in \(mm. d^{−1}\), Eq. 6) when the average daily air temperature \(T_{avg}\) is higher than \(T_{mf}\), or when liquid water within the snow cover is in the process of refreezing (\(M_{rf}\); in \(mm.d^{−1}\), Eq. 7).

The refreezing process is controlled by a degree-day temperature index (\(SW_{rf}\); in \(mm.^oC^{−1}.d^{−1}\)). The density of the new snow \(\rho ns\) (in \(kg.m^{−3}\)) is a parameter fixed by the user, while the density of the snow cover \(\rho s\) (in \(kg.m^{−3}\)) is calculated as the ratio between the snow water equivalent \(S_{WE}\) (\(S_{dry} + S_{wet}\); in \(mm\)) and the snow depth \(S_{depth}\) (in \(cm\), Eq. 8). The empirical compaction parameter \(\varepsilon\) (in \(mm.mm^{−1}.d^{−1}\)) was assumed to capture the combined effect of the metamorphosis of snow crystals and the densification of the lower snow layers. In order to account for the seasonal variation in incoming solar radiation and albedo, the melting rate \(K\) (in \(mm.^oC^{−1}.d^{−1}\)) is described with a sinusoidal function over a year period (\(t\); in \(d\)) with a minimum melting rate \(K_{min}\) on 21 December and a maximum rate \(K_{max}\) on 21 June (Eq. 9).


\[\begin{equation} \begin{aligned} S_{dry}(t)=F_s \times P(t) + M_{rf} - M + S_{dry}(t-1) \hspace{4.8cm} (4) \label{eq:sdry} \end{aligned} \end{equation}\]
\[\begin{equation} \begin{aligned} S_{wet}(t)= F_r \times P(t) -M-M_{rf} + S_{wet}(t-1) \hspace{4.8cm} (5) \label{eq:swet} \end{aligned} \end{equation}\]
\[\begin{equation} \begin{cases} \begin{aligned} T_{avg}(t)=\frac{T_{min}(t)+T_{max}(t)}{2} \hspace{9.5cm} \\ T_{avg}(t) > T_{mf} \implies M=K\times(T_{avg}(t) - T_{mf}), \hspace{0.2cm} Mrf = 0 \hspace{2.6cm} (6) \hspace{0.6cm}\\ \hspace{0.5cm} T_{avg}(t) < T_{mf} \implies M_{rf}=SW_{rf} \times (T_{mf} - T_{avg}(t)), \hspace{0.2cm} M = 0 \hspace{2.1cm} (7) \hspace{0.6cm} \label{eq:m} \end{aligned} \end{cases} \end{equation}\]
\[\begin{equation} \begin{aligned} S_{depth}(t) = \frac{P_{s}}{\rho{ns}} - \frac{M}{\rho{s}} - \varepsilon \times S_{depth}(t-1) \hspace{5.7cm} (8) \label{eq:depth} \end{aligned} \end{equation}\]
\[\begin{equation} \begin{aligned} K = \frac{\Delta K_{max}}{2} \times sin( \frac{2 \pi t}{365} + \frac{3}{8} \pi ) + ( K_{min} + \frac{\Delta K_{max}}{2} ) \hspace{3.5cm} (9) \label{eq:K} \end{aligned} \end{equation}\]

 

2 Snow module integration in Stics

The Snow module is independent from Stics, so it doesn’t have access to Stics information. Stics provides to the Snow module its parameters, initializations, and meteorological data and stores outputs of snow module (daily, stats) in its climatic data structure.

If the module is activated, a message is written in the history file.

In addition, if it’s not activated, but temperatures and precipitations conditions are favorable to snow production, a message in the history file provides information about that.

The Snow module is called after 2 specific calculations if they are activated: meteorological conditions in altitude and under a shelter.

But, the Snow module calculations are of course only made if the climate under shelter is not required. Otherwise, the Snow module is not used.

3 Stics inputs and outputs

3.1 Parameters and initializations

3.1.1 General parameters

A new option for activating the Snow module use has been added in the general parameters file (param_gen.xml), in the Simulation options block.

   <option choix="1" nom="Snow activation" nomParam="codesnow">
        <choix code="1" nom="yes"/>
        <choix code="2" nom="no"/>
   </option>

In the given file this option is activated by default (so codesnow is set to 1).

3.1.2 Station parameters

A new block for parameterizing the snow module has been created in the station file (*_sta.xml). Only one snow model has been implemented (described before), but an option has been set which currently contains one usable choice (3) . The 2 first ones are free and named *-Unused. Here is the corresponding xml code block

<formalisme nom="Climate with snow">
    <option choix="3" nom="Select snow model" nomParam="codemodlsnow">
        <choix code="1" nom="1-Unused"/>
        <choix code="2" nom="2-Unused"/>
        <choix code="3" nom="3-My only choice">
            <param format="real" max="1.2" min="0.3" nom="tsmax">-2.</param>
            <param format="real" max="100.0" min="0.01" nom="trmax">1.</param>
            <param format="real" max="100.0" min="0.0" nom="DKmax">1.50000</param>
            <param format="real" max="1.0" min="0.0010" nom="Kmin">2.</param>
            <param format="real" max="0.01" min="0.0" nom="Tmf">0.5</param>
            <param format="real" max="1.0" min="0.0010" nom="SWrf">0.01</param>
            <param format="real" max="1.0" min="0.0010" nom="Pns">100.</param>
            <param format="real" max="1.0" min="0.0010" nom="E">0.02</param>
            <param format="real" max="1.0" min="0.0010" nom="prof">10.</param>
            <param format="real" max="1.0" min="0.0010" nom="tminseuil">-0.5</param>
            <param format="real" max="1.0" min="0.0010" nom="tmaxseuil">0.</param>
        </choix>
    </option>
</formalisme>   

The station files must be modified by adding the block at the end as done in the given file example-with-snow_sta.xml (in the JavaStics doc/formalisms/snow folder). As for initialization files, no tool is available for adding lines in existing station files (will be provided later).

But, after adding the new block for snow parameters with model choice in a station file, it can be edited in JavaStics interface and modified, like other files which don’t contain a snow block. The old format files are still compatible.
The new parameters are defined as follows, min and max bounds are temporary (to be refined):

Inputs parameters definition
Name Definition Unit min. max.
tsmax maximum daily air temperature (tmax) below which all precipitation is assumed to be snow degreeC -1.0e+00 -0.50
trmax tmax above which all precipitation is assumed to be rain degreeC 5.0e-01 1.50
DKmax difference between the maximum and the minimum melting rates mm.degreeC.d-1 1.0e+00 2.00
Kmin minimum melting rate on 21 December mm.degreeC.d-1 1.5e+00 2.50
Tmf threshold temperature for snow melting degreeC 0.0e+00 1.00
SWrf degree-day temperature index for refreezing mm.degreeC.d-1 0.0e+00 0.01
Pns density of the new snow kg.m-3 5.0e-06 100.00
E snow compaction parameter mm.mm-1.d-1 0.0e+00 0.05
prof snow cover threshold for snow insulation cm 8.0e+00 12.00
tminseuil minimum temperature when snow cover is higher than prof degreeC -1.0e+00 0.00
tmaxseuil maximum temperature when snow cover is higher than prof degreeC -5.0e-01 0.50

If the specific xml snow block is missing in a station file, the parameters values are automacically set to zero when running the model. But, it is stopped by raising an error. A message is given in the history file (modhistory.sti) indicating that the parameters have not been initialized.

3.1.3 Initialization

A new block named snow has been added to the initialization file (*_ini.xml):

  <snow>
     <SDepth>0.0</SDepth>
     <Sdry>0.0</Sdry>
     <Swet>0.0</Swet>
     <ps>0.0</ps>
  </snow>      

For getting the possibility to set initial values of SDepth, Sdry, Swet and ps, because snow may exists at the simulation start, initialization files (*_ini.xml) must be modified by hand, by adding a new block snow as done in the file example-with-snow_ini.xml (in the JavaStics doc/formalisms/snow folder ). No tool is available for transforming old files. But, old files without the snow initialization block are still usable of course.

The variables are defined as below and must be defined when the initial snow depth is given:

Initial variables values definition
Name Definition Unit
Sdepth snow cover depth m
Sdry water in solid state in the snow cover mm
Swet water in liquid state in the snow cover mm
ps density of snow cover kg.m-3

3.2 Output variables

Specific outputs from the Snow model have been added to the Stics available outputs, through the same mechanism as Stics outputs variables by writing them in the var.mod or selecting them in JavaStics interface.

Outputs variables definition
Name Definition Unit
Snowaccu(n) daily snowfall accumulation (mm water equivalent) mm.d-1
Snowmelt(n) daily snowmelt (mm water equivalent) mm.d-1
Sdepth(n) daily snow cover depth m
preciprec(n) recalculated daily precipitation mm.d-1
tminrec(n) recalculated daily minimum temperature degreeC
tmaxrec(n) recalculated daily maximum temperature degreeC

3.3 History informations

  • The use of the Snow module is indicated in the modhistory.sti file, parameters and initial variables values are listed

       --------------------------------------------------------------------------------------
        Using Snow module for recalculating temperatures and rainfall
       --------------------------------------------------------------------------------------
       Parameters
       P_tsmax  -2.00000000    
       P_trmax   1.00000000    
       P_DKmax   1.50000000    
       P_Kmin   2.00000000    
       P_Tmf  0.500000000    
       P_SWrf   9.99999978E-03
       P_Pns   100.000000    
       P_E   1.99999996E-02
       P_prof   10.0000000    
       P_tminseuil -0.500000000    
       P_tmaxseuil   0.00000000    
       Initializations
       SDepth   0.00000000    
       Sdry   0.00000000    
       Swet   0.00000000    
       ps   0.00000000   
  • If the parameters values are not set (all equal zero), a message specifying that parameterization is missing and indicates that the model stops with an error.

  • If the Snow module is not activated, but the meteorological conditions show that snow may be produced, a message is written in the history file telling the number of days with a snow depth over 3 cm and over 10 cm.

      --------------------------------------------------------------------------------------
      Snow module is not activated, but meteo conditions indicate that snow can be produced !
      Year            1
      Number of days with a snow depth over 3 cm :         148
      Number of days with a snow depth over 10 cm :         138
      --------------------------------------------------------------------------------------
  • The Snow module inactivation is indicated in case of incompatibility (see climate under a shelter)

      --------------------------------------------------------------------------------------
      Climate under a shelter is activated, snow module have been desactivated !
      --------------------------------------------------------------------------------------

3.4 Balance informations

If the Snow module is used, a section is added to the balance file, specifying the number of days with a snow depth over 3 cm and over 10 cm.

      --------------------------------------------------------------------------------------
      Snow informations:
      --------------------------------------------------------------------------------------
      Year :           1
      Number of days with a snow depth over 3 cm :         126
      Number of days with a snow depth over 10 cm :          84
      --------------------------------------------------------------------------------------

4 Simulation outputs examples

4.1 Results for independent runs

4.1.1 Snow module outputs

  • Snow depth
    For the two years 2009 and 2010 chosen for running an example, the snow depth for the first day of year 2010 is been reset to zero.

  • Daily minimum temperature

  • Daily maximum temperature

  • Daily precipitations

4.1.2 Stics outputs

  • Soil water reserve

  • Soil temperature

Figures of soil temperatures for the 3 layers defined in the loam_sableux soil (thickness: 15 cm, 15 cm and 70 cm). For year 2009 and 2010, daily soil temperatures and recalculated temperatures (with snow cover effect) are represented on the following plots. Measured soil temperatures have been added.

4.2 Results when chaining usms

4.2.1 Snow module outputs

  • Snow depth

In this figure, we see that there is a continuous evolution of the snow depth between the 2 years. The model has been initialized properly, transmitting state variables from the 1st year the 2nd one.

  • Daily minimum temperature

For the second year, we see that the recalculated tmin, is stable near -0.5, while for independent runs, it is variable reaching much lower temperatures (for 20 days).

  • Daily maximum temperature

For the second year, we can make the same comments for recalculated tmax than for tmin.

  • Daily precipitations

4.2.2 Stics outputs

  • Soil water reserve

  • Soil temperature

  • Lai

Example of the effect of the presence or not of a snow cover on a winter wheat.

5 References

Bélanger, G, P Rochette, Y Castonguay, A Bootsma, D Mongrain, and DAJ Ryan. 2002. “Climate Change and Winter Survival of Perennial Forage Crops in Eastern Canada.” Article. AGRONOMY JOURNAL 94 (5). 677 S SEGOE RD, MADISON, WI 53711 USA: AMER SOC AGRONOMY: 1120–30.

Jego, G, M Chantigny, E Pattey, G Belanger, P Rochette, A Vanasse, and C Goyer. 2014. “Improved Snow-Cover Model for Multi-Annual Simulations with the Stics Crop Model Under Cold, Humid Continental Climates.” Article. AGRICULTURAL AND FOREST METEOROLOGY 195 (SEP 15). PO BOX 211, 1000 AE AMSTERDAM, NETHERLANDS: ELSEVIER SCIENCE BV: 38–51. doi:10.1016/j.agrformet.2014.05.002.

Thorsen, S M, A-G Roer, and M van Oijen. 2010. “Modelling the Dynamics of Snow Cover, Soil Frost and Surface Ice in Norwegian Grasslands.” Article; Proceedings Paper. POLAR RESEARCH 29 (1). COMMERCE PLACE, 350 MAIN ST, MALDEN 02148, MA USA: WILEY-BLACKWELL PUBLISHING, INC: 110–26. doi:10.1111/j.1751-8369.2010.00157.x.

Trnka, M, E Kocmankova, J Balek, J Eitzinger, F Ruget, H Formayer, P Hlavinka, et al. 2010. “Simple Snow Cover Model for Agrometeorological Applications.” Article. AGRICULTURAL AND FOREST METEOROLOGY 150 (7-8). PO BOX 211, 1000 AE AMSTERDAM, NETHERLANDS: ELSEVIER SCIENCE BV: 1115–27. doi:10.1016/j.agrformet.2010.04.012.